/**
 * 订单状态测试工具
 * 用于测试各种状态值的显示效果
 */

// 测试状态值列表
export const testStatuses = [
  'pending_pay',
  'paid',
  'pending_pickup',
  'completed',
  'cancelled',
  'expired',
  'processing',
  'delivered',
  'refunded',
  'unknown_status',
  null,
  undefined,
  ''
]

// 状态文本映射函数（与Orders.vue中的getStatusText保持一致）
export const getStatusText = (status) => {
  if (!status) return '未知状态'
  
  switch (status.toString().toLowerCase()) {
    case 'paid':
      return '已付款'
    case 'pending':
    case 'pending_pay':
      return '待付款'
    case 'completed':
      return '已完成'
    case 'waiting':
    case 'pending_pickup':
      return '待取餐'
    case 'expired':
      return '已过期'
    case 'cancelled':
    case 'canceled':
      return '已取消'
    case 'processing':
      return '处理中'
    case 'delivered':
      return '已送达'
    case 'refunded':
      return '已退款'
    default:
      console.log(`未知状态值: ${status}`)
      return `未知状态(${status})`
  }
}

// 状态样式类映射函数（与Orders.vue中的getStatusClass保持一致）
export const getStatusClass = (status) => {
  if (!status) return ''
  
  switch (status.toString().toLowerCase()) {
    case 'paid':
      return 'status-paid'
    case 'pending':
    case 'pending_pay':
      return 'status-pending'
    case 'completed':
      return 'status-completed'
    case 'waiting':
    case 'pending_pickup':
      return 'status-waiting'
    case 'expired':
      return 'status-expired'
    case 'cancelled':
    case 'canceled':
      return 'status-expired'
    case 'processing':
      return 'status-waiting'
    case 'delivered':
      return 'status-completed'
    case 'refunded':
      return 'status-expired'
    default:
      return ''
  }
}

// 运行状态测试
export const runStatusTest = () => {
  console.log('=== 订单状态测试 ===')
  testStatuses.forEach(status => {
    const text = getStatusText(status)
    const className = getStatusClass(status)
    console.log(`状态: "${status}" -> 文本: "${text}", 样式类: "${className}"`)
  })
  console.log('=== 测试完成 ===')
}

// 在浏览器控制台中运行测试
if (typeof window !== 'undefined') {
  window.runStatusTest = runStatusTest
  console.log('状态测试工具已加载，运行 window.runStatusTest() 来测试状态显示')
}
